package com.gzq.factorymethod.exam07;

/**
 * 工厂方法：
 * 定义一个创建对象的接口，由子类来决定具体实现那个类。工厂方法，将一个类的实例化延迟到其子类。<br>
 * 优点：
 * 1，良好的封装性。客户端不用管产品类的具体实现和变化。
 * 2，良好的可扩展性： 对产品和工厂的实现类具有很好的可扩展和可维护性。
 * 总的来说。工厂方法是一个很好的解耦性框架，满足了迪米特法则，依赖倒置原则，当然也符合开闭原则。
 * 
 * 女娲造人案例。
 * 
 * 简单工厂方法。
 * 多工厂方法。
 * 
 * 单例-反射。
 * 延迟初始化。
 * 
 * @author Administrator
 *
 */
public interface IBaGuaLu {
	
	public <T extends IHuman> T create(Class<T> c);
	
}
